package thread;

/**
 * 线程的优先级
 * 线程有10个优先级，使用整数1-10表示
 * 1为最小优先级，10为最高优先级。5为默认值
 *
 *
 * 线程start后会纳入到线程调度器中统一管理，线程只能被动的被并发运行，而无法
 * 主动索取时间片。线程调度器尽可能均匀的将时间片分配给每一个线程
 * 调整线程的优先级可以最大程度的干涉获取时间片的几率。优先级越高级的线程获取时间片的次数
 * 越多，反之则越少。
 */
public class PriorityDemo {
    public static void main(String[] args) {
        Thread MAX=new Thread(){
            public void run(){
                for (int i = 0; i <10000 ; i++) {
                    System.out.println("max");
                }
            }
        };
        Thread MIN=new Thread(){
            public void run(){
                for (int i = 0; i <10000 ; i++) {
                    System.out.println("min");
                }
            }
        };
        Thread MORM=new Thread(){
            public void run(){
                for (int i = 0; i <10000 ; i++) {
                    System.out.println("mor");
                }
            }
        };
        MAX.setPriority(Thread.MAX_PRIORITY);
        MIN.setPriority(Thread.MIN_PRIORITY);
        MAX.start();
        MIN.start();
        MORM.start();
    }
}
